package satir.command.factory;

import satir.SatirGame;
import satir.command.Command;

/**
 * A factory for creating Command objects.
 * 
 * @version 1.0 March 2012
 * @author Bill Chan
 */
public abstract class CommandFactory {

	/** Creates a new Command object. */
	
	protected SatirGame satirGame;
	
	/**
	 * Sets the satir game.
	 *
	 * @param satirGame the new satir game
	 */
	public void setSatirGame(SatirGame satirGame){
		this.satirGame = satirGame;		
	}
	
	/**
	 * Creates a new Command object.
	 *
	 * @return the command
	 */
	abstract public Command createCommand();
}